Self-correcting configuration items

ABSTRACT

Some implementations of the invention provide improved methods and devices for configuring gaming machines. According to some implementations of the invention, an operator&#39;s proposed changes to configuration item values will be assessed according to one or more rule sets. If a proposed new configuration value violates one or more such rules, according to some implementations the proposed new configuration value (or other configuration value(s)) may be automatically changed in order to obtain compliance with the rule(s). The rules may or may not be implemented by a gaming machine. Some implementations of the invention provide remote hosting of configuration menu pages with or without such auto-configuration features.

BACKGROUND OF THE INVENTION

This invention relates to networks of gaming machines, such as slot machines and video poker machines. More particularly, the present invention relates to methods and devices for configuring gaming machines and other devices in a gaming network.

The gaming machines under the control of a particular entity may be globally distributed in many different types of establishments. Casinos, convenience stores, supermarkets, bars and boats are a few examples of establishments where gaming machines may be placed.

Typically, utilizing a master gaming controller, a gaming machine controls various combinations of devices that allow a player to play a game on the gaming machine and also encourage game play on the gaming machine. For example, a game played on a gaming machine usually requires a player to input money or indicia of credit into the gaming machine, indicate a wager amount, and initiate a game play. These steps require the gaming machine to control input devices, such as bill validators and coin acceptors, to accept money into the gaming machine and recognize user inputs from devices, including key pads and button pads, to determine the wager amount and initiate game play. After game play has been initiated, the gaming machine determines a game outcome, presents the game outcome to the player and may dispense an award of some type depending on the outcome of the game.

The operations described above may be carried out on the gaming machine when the gaming machine is operating as a “stand alone” unit or linked in a network of some type to a group of gaming machines. As technology in the gaming industry progresses, more and more gaming services are being provided to gaming machines via communication networks that link groups of gaming machines to a networked computer (which may be a local or a remote computer) that provides one or more gaming services. As an example, gaming services that may be provided by a networked computer to a gaming machine via a communication network of some type include player tracking, accounting, cashless award ticketing, lottery, progressive games and bonus games.

Networked gaming services enhance the game playing capabilities of the gaming machine or provide some operational advantage in regards to maintaining the gaming machine. Thus, network gaming services provided to groups of gaming machines linked over a dedicated communication network of some type have become very popular in the gaming industry.

One example wherein a group of gaming machines are linked using a dedicated network to provide a network gaming service is a progressive game network. The progressive game services enabled by the progressive game network increase the game playing capabilities of a particular gaming machine by enabling a larger jackpot than would be possible if the gaming machine was operating in a “stand alone” mode. The potential size of the jackpot increases as the number gaming machines connected in the progressive network is increased. The size of the jackpot tends to increase game play on gaming machines offering a progressive jackpot, which justifies the costs associated with installing and maintaining the dedicated progressive game network.

However, there are many aspects of managing and provisioning gaming machines that are still performed manually. For example, in a time consuming process, installing a new game has previously involved manually exchanging an EPROM (e.g. a read-only memory) containing the game on the gaming machine. The software is manually loaded because the gaming software is very highly regulated and in most gaming jurisdictions only approved gaming software may be installed on a gaming machine. Further, the gaming software is manually loaded for security reasons, in order to prevent the source code from being obtained by individuals who might use the source code to try to find ways of cheating the gaming machine. Other attributes of gaming machines, such as the denomination, pay tables, etc., are typically configured manually for similar reasons.

It would be desirable to provide methods and devices that overcome at least some of these drawbacks of the prior art.

SUMMARY OF THE INVENTION

Some implementations of the invention provide improved methods and devices for configuring gaming machines. According to some implementations of the invention, an operator's proposed changes to configuration item values will be assessed according to one or more rule sets. If a proposed new configuration value violates one or more such rules, according to some implementations the proposed new configuration value (or other configuration value(s)) may be automatically changed in order to obtain compliance with the rule(s). As used herein, a “rule” may involve consistency between inter-related configuration values, a predetermined range of acceptable (and/or feasible) values for a configuration item, a law of a jurisdiction etc. The rules may or may not be implemented by a gaming machine. Some implementations of the invention provide remote hosting of configuration menu pages with or without such auto-configuration features.

Some embodiments of the invention provide a gaming machine that includes the following elements: means for providing a wagering game; an interface for receiving an instruction to set a first configuration value relating to the provision of the wagering game; and at least one logic device. The logic device or devices are configured to determine whether the first configuration value would cause a rule violation and alter the first configuration value (or a related configuration value) when it is determined that accepting the first configuration value would cause a rule violation.

The “rule violation” may involve, e.g., an incompatibility between the first configuration value and a second configuration value. However, in some instances the rule violation may involve the violation of a rule established in a game theme, by a gaming machine manufacturer, by a gaming establishment, etc. In some cases, a rule violation may involve a jurisdictional law violation.

The interface may comprise, for example, a user interface, a network interface (e.g., a uniform serial bus (“USB”) interface). The interface may comprise (or at least provide communication with) external storage media.

A logic device may be configured to report an altered configuration value and/or to prompt a user to accept or reject a proposed alteration to a configuration value. A logic device may be configured to allow a user to enable or disable the gaming machine's ability to alter an indicated configuration value.

A logic device may be configured to host a configuration menu, e.g., via a network interface. Alternatively, or additionally, a logic device may be further configured to send configuration instructions to other gaming machines via a network interface.

Other devices are provided according to some embodiments of the invention. One such apparatus includes the following elements: a network interface for receiving an instruction to set a first configuration value relating to the provision of a wagering game; and at least one logic device. The logic device or devices may be configured to determine whether the first configuration value would cause a rule violation and alter the first configuration value or a related configuration value when it is determined that accepting the first configuration value would cause a rule violation.

A logic device may also be configured to send configuration instructions to a plurality of gaming machines via the network interface. In some implementations, the apparatus is configured to provide a wagering game. However, in other implementations, the apparatus may be another device, such as a controller, a server, a host device, a kiosk, etc.

Some implementations of the invention involve methods that include the following steps: receiving an instruction to set a first configuration value relating to the provision of a wagering game; determining whether the first configuration value would cause a rule violation; and altering the first configuration value or a related configuration value when it is determined that accepting the first configuration value would cause a rule violation.

As with other implementations of the invention, the “rule violation” may involve, e.g., an incompatibility between the first configuration value and a second configuration value. If so, the method may involve altering the first configuration value and/or altering the second configuration value.

However, in some instances the rule violation may involve the violation of a rule established in a game theme, by a gaming machine manufacturer, by a gaming establishment, etc. In some cases, a rule violation may involve a jurisdictional law violation. If so, the method may involve altering the first configuration value.

The method may include the step of receiving a rule set for determining whether accepting the first configuration value would cause a rule violation. The method may also involve receiving a rule set for determining how to alter the first configuration value or a related configuration value when it is determined that accepting the first configuration value would cause a rule violation. The method may include the step(s) of reporting altered configuration values and/or prompting an operator to accept or reject proposed alterations to configuration values.

Configuration instructions may be provided to a plurality of gaming machines according to an approved set of configuration instructions for a first gaming machine. The providing step may involve transmitting configuration instructions to the plurality of gaming machines via a network.

Alternatively, or additionally, the providing step may comprise the following: storing the approved set of configuration instructions on a portable memory device; establishing a communication between the portable memory device and one gaming machine of the plurality of gaming machines; and copying the approved set of configuration instructions from the portable memory device to the one gaming machine of the plurality of gaming machines. The method may also include a step of authenticating the portable memory device, e.g., via a digital signature.

Some such implementations may allow a user to configure one or more gaming machines via an easy-to-use GUI displayed on a wired or a wireless device, such as a laptop, a PDA, a work station or other host device. Gaming machine configurations that can be changed according to some implementations of the invention include game denominations, games to enable, disable or download, game payback percentage, deal speed, volume level, enabling or disabling tournament play, etc.

The present invention provides other hardware (such as network devices and components of network devices) that is configured to perform the methods of the invention, as well as software to control devices to perform these methods.

These and other features of the present invention will be presented in more detail in the following detailed description of the invention and the associated figures.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a flow chart that outlines some methods of the invention.

FIG. 2 illustrates a simplified configuration menu.

FIG. 3 depicts a data structure involving inter-related configurations.

FIG. 4 illustrates a GUI that may be used to implement some aspects of the invention.

FIG. 5 is a flow chart that outlines alternative methods of the invention.

FIG. 6 depicts a simplified example of a gaming network that may be used to implement, at least in part, some aspects of the invention.

FIG. 7 is a block diagram of an Arbiter.

FIG. 8 illustrates a gaming machine that may be configured according to some aspects of the invention.

FIG. 9 illustrates a gaming machine and a gaming network that may be configured according to some aspects of the invention.

FIG. 10 illustrates a network device that may be configured according to some aspects of the invention.

EXAMPLES OF SOME EMBODIMENTS OF THE INVENTION

Exemplary applications of systems, components, and methods according to the present invention are described. These examples are provided solely to add context and aid in the understanding of the invention. Thus, it will be apparent to one skilled in the art that the present invention may be practiced without some or all of the specific details described herein. In other instances, well-known process steps, system components, and software and network concepts have not been described in detail in order to avoid unnecessarily obscuring the present invention.

In addition, other applications are possible, such that the following examples, illustrations, and contexts should not be taken as definitive or limiting either in scope or setting. Although the embodiments below are described in sufficient detail to enable one skilled in the art to practice the invention, these examples, illustrations, and contexts are not limiting, and other embodiments may be used and changes may be made without departing from the spirit and scope of the invention. For example, while the invention is described primarily with respect to the configuration of gaming machines, the invention is not so limited and may apply to the configuration of kiosks, configurable table games and other devices.

Some methods of the invention will now be described with reference to FIG. 1. Steps of the methods shown and described herein may not need to be performed (and in some implementations are not performed) in the order indicated. Some implementations of these methods may include more or fewer steps than those described.

Method 100 includes a series of steps for configuring a gaming machine, e.g., a machine for providing wagering games. An example of one such gaming machine will be described in detail below with reference to FIG. 8. In some implementations of the invention, many of the steps of method 100 may be performed by such a gaming machine. However, in alternative implementations, the steps of method 100 may be performed by another device, e.g., by a host device, server, etc., that is configured to provide configuration information to more than one gaming machine. Such a device may, for example, be assigned to a plurality of identical (or very similar) gaming machines, e.g., to a bank of networked gaming machines that may all be configured in substantially the same way.

In step 101, a request is received for the configurable items of a gaming machine. The request may, for example, be received by a gaming machine (or other device) from a host device of a gaming network. As shown and described below with reference to FIG. 6, some such implementations may allow a user to configure one or more gaming machines via a wired or a wireless device, such as a laptop, a PDA, a work station or other host device. However, the request may also be made by an operator in the vicinity of the gaming machine (or other device).

A configuration menu is provided in response to the request. (Step 103.) A simplified example of such a menu is illustrated in FIG. 2. In this example, FIG. 2 illustrates a type of configuration menu that an operator could see if configuring a gaming machine from a host device of a gaming network. Here, the configuration menu is “hosted” by the gaming machine to be configured. This may be accomplished, for example, via a series of hypertext markup language (“HTML”) screens, such as those used to provide Web pages on the Internet. However, in alternative implementations, a configuration menu is displayed on a display device of a gaming machine.

Here, configuration menu 200 includes instances 1 through N of menu item 205. Each instance of menu item 205 pertains to a configurable item (sometimes referred to herein as a “configuration item” or the like). Here, the name of the configurable item is indicated in field 210 and the configurable item type is set forth in field 220. Field 230 indicates a range of values for the configurable item. Here, the values in field 230 of configurable item 1 are expressed as discrete values a through e, whereas the values in field 230 of configurable item N are expressed as discrete values a through g. One or more of these values may be highlighted in some fashion to indicate “active” or current values. In alternative implementations, configurable item values may be expressed in other ways, e.g., by indicating the lowest and highest possible values for the configuration item, by indicating a current configuration item value in a window, etc.

Comments and/or instructions regarding a configuration item may be set forth in field 240. These instructions, which may be provided, e.g., as text or a Java® applet, may indicate the significance of a configurable item, applicable rules, etc. For example, field 240 may indicate jurisdictional limitations regarding a configuration item, inter-relationships with other configuration items, etc. If an operator wishes to change a configuration item value, the operator may activate Edit button 250 and indicate the desired change(s).

However, some configuration items may not be modifiable. Certain configuration item values may be fixed (e.g., according to jurisdictional requirements), have maximum values that cannot be exceeded, etc. Such values may be set according to corresponding jurisdiction codes and/or country codes. For such configuration items, the “Edit” button (or the like) may be disabled (e.g., “grayed out”) or may be omitted.

Referring once again to FIG. 1, in step 105 an operator has indicated a proposed change to a configuration item value. Therefore, in step 110, it is determined whether accepting the configuration item value would violate a rule. According to some implementations of the invention, an operator's proposed changes to configuration item values will be assessed by a logic device (e.g., a processor of a gaming machine or other device) according to one or more rule sets. The rule sets may be implemented as software code stored in a machine-readable medium. As used herein, a “rule” may involve consistency between inter-related configuration values, a predetermined range of acceptable (and/or feasible) values for a configuration item, a law of a jurisdiction, etc. In some implementations, it will also be determined in step 110 whether the proposed change would have a potentially detrimental effect, even if no rule would be violated.

In step 112, it will be determined whether there is a reasonable alternative that could be proposed. Some proposed configuration values may not have a reasonable alternative. For example, a proposed configuration value may involve a breach of the laws of a jurisdiction for which the applicable rule set/software includes no reasonable alternative. In such instances, the proposed configuration value will be rejected. (Step 114.)

However, in many instances it will be possible to determine one or more reasonable alternative configuration values. (Step 115.) For example, if the rule violation is merely an inconsistency between inter-dependent configuration item values, it may be possible to determine alternative values for one or more of these configuration item values. In such instances, one or more alternative configuration values will be determined in order to obtain compliance with the rule(s) and/or ameliorate the potentially detrimental effect. In some such instances, an alternative value may be determined for the same configurable item. Alternatively, or additionally, an alternative value may be determined for one or more other configurable items.

For example, there are preferably rules regarding the compatibility of a credit limit and the maximum allowable bet (“Max Bet”). If the operator tried to set Max Bet to a higher value than the credit limit, an alternative value may be determined for one (or both) of these configurable items. For example, if the operator tried to set Max Bet to $5000 and the credit limit were $4000, it may be determined in step 115 that the Max Bet could be set to $4000. Alternatively, it may be determined in step 115 that the credit limit could be increased to $5000 or that both values could be changed, e.g., to an intermediate value such as $4500.

In some implementations of the invention, such changes will be made automatically (step 125) without any prompt to the operator. (Some implementations allow an operator to disable the automatic determination and/or implementation of new configuration values, e.g., according to a menu option.) However, alternative implementations provide the operator a prompt and an opportunity to accept or reject the proposed value change(s). (Step 120.)

Either way, such implementations of the invention provide a significant improvement over the prior art. In some currently-implemented systems, if an operator attempts to set the value of a configurable item to an unacceptable value, the response (e.g., from a gaming machine) may be, in effect, “No, I can't do that. Try again.” Even if the device were to reply with a message indicating why a configuration setting will not work, there may be problems. For example, it may not be practical to explain concisely the inter-relationships of all of the configuration items. So, if the device indicates that configurable item 1 must be changed in accordance with configurable item 2, there may be other configurable items 3 and 4 that will be affected when configurable item 2 is changed, and so on. This could be very frustrating for the operator.

One example of providing an operator a prompt and an opportunity to accept or reject proposed value change(s) will now be discussed with reference to FIGS. 3 and 4. Referring first to FIG. 3, data structure 300 indicates a few possible configuration values relating to denomination. Column 310 indicates denominations that are possible for a particular gaming machine. These denominations may correspond, for example, with the particular hardware and/or software of the currency-receiving features of the gaming machine. Here, for example the bill validator may not be programmed to accept bills larger than $20 bills.

Column 320 indicates possible denominations for various game themes that the gaming machine may be configured to provide. The game themes may involve different types of games, e.g., slot games, video poker, keno, bingo, etc. It will be appreciated that there may be more or fewer than the 4 game themes indicated. Column 330 indicates various paytables and corresponding denominations.

In this example, the operator has proposed to remove the $0.05 cabinet denomination. (Step 105 of FIG. 1.) In step 110, it is determined that there are potentially detrimental effects of removing the $0.05 cabinet denomination. Therefore, the operator is notified of these potentially detrimental effects via the graphical user interface depicted in FIG. 4. (Step 120 of FIG. 1.) In this example, graphical user interface 400 is hosted by a gaming machine and appears on a host device used by an operator. However in alternative implementations, such a graphical user interface may appear on a display device of a gaming machine or of another device.

Text field 410 provides a notice that there are potentially detrimental effects of removing the $0.05 cabinet denomination. Some specific results are set forth in fields 420. Menu button 430 allows the operator to accept the proposed configuration change and to proceed. However, if the operator decides that the detrimental effects of removing the $0.05 cabinet denomination outweigh the advantages, the operator may activate menu button 440 and cancel the proposed configuration change.

Some implementations may determine alternatives even when the proposed configuration would cause a violation of the law of a jurisdiction. In one such example, in step 105 an operator may attempt to activate a Class III game (e.g., a slot game) in a jurisdiction within which Class II games are legal but Class III games are illegal. In step 110, it would be determined that accepting this configuration would cause a rule violation. As previously mentioned, some implementations would determine that there is no reasonable alternative (step 112) and would reject the proposed configuration (step 114). However, in alternative implementations, it may be determined in step 112 whether there is an available Class II game that provides a similar game presentation to that of the desired Class III game. If so, the operator may be prompted as to whether the Class II game would be acceptable. (Step 120.) If the operator accepts, the Class II game may be downloaded and/or enabled.

The following patent applications describe methods and devices for providing Class II games that simulate Class III games, and are hereby incorporated by reference: U.S. patent application Ser. No. 10/995,636, entitled “CLASS II/CLASS III HYBRID GAMING MACHINE, SYSTEM AND METHODS” and filed Nov. 22, 2004; U.S. patent application Ser. No. 10/937,227, entitled “BINGO GAME MORPHED TO DISPLAY NON-BINGO OUTCOMES” and filed Sep. 8, 2004; U.S. patent application Ser. No. 11/312,948, entitled “BINGO GAMING MACHINE CAPABLE OF SELECTING DIFFERENT BINGO POOLS” and filed Dec. 19, 2005; U.S. patent application Ser. No. 11/402,726, entitled “USING MULTIPLE BINGO CARDS TO REPRESENT MULTIPLE SLOT PAYLINES AND OTHER CLASS III GAME OPTIONS” and filed Apr. 11, 2006; and U.S. patent application Ser. No. 11/442,029, entitled “BINGO SYSTEM WITH DISCRETE PAYOUT CATEGORIES” and filed May 26, 2006.

Referring again to FIG. 1, it is determined in step 130 whether the operator wishes to provide additional configuration instructions for the gaming machine. This determination may be made, for example, according to the operator's response to a prompt, e.g., via a configuration menu page or other such graphical user interface. If the operator provides another instruction, it is received in step 105. If not,

Preferably, a report is generated for the operator summarizing the configuration values that will be implemented. (Step 135.) The report may indicate the configuration settings/changes made by the operator and all other configuration item values that needed to be changed in order to allow the new configuration item values. When a configuration item value is accepted, the gaming machine may indicate the acceptance. The gaming machine is configured according to the configuration values indicated. (Step 140.) Preferably, the new configuration item values are stored both on the gaming machine and on at least one other device, e.g., on a database accessible by a server-based gaming system such as that described elsewhere herein. The process ends in step 145.

According to some implementations of the invention, methods are provided for the convenient configuration of multiple gaming machines according to a set of configuration values. Such methods are most useful when the gaming machines in question are identical, or at least substantially similar. The set of configuration values may be determined in any convenient fashion, e.g., according to the steps of method 100.

Referring now to FIG. 5, one such method 500 will be described. Method 500 may begin, for example, after step 135 and/or step 140 of method 100 have been completed. In step 505, it is determined whether the operator wishes to configure another gaming machine using the set of configuration values. For example, the operator may wish to configure each gaming machine in a bank of gaming machines, in a section of a gaming establishment, etc., in substantially the same way without going through the steps of method 100 (or another configuration method) for each gaming machine. The determination of step 505 may be made, for example, according to the operator's response to a prompt, e.g., via a configuration menu page hosted by a gaming machine and displayed on a host device used by the operator.

If the operator wishes to configure another gaming machine using the set of configuration values, it is determined whether the operator would like to automatically configure one or more additional gaming machines via a network. (Step 510.) If so, the set of configuration values is transmitted to the gaming machines to be configured in step 530. The set of configuration values may be transmitted from a host device, a gaming machine or another device, such as a server. The device may distribute the set of configuration values to gaming machines that have been identified as substantially similar and that the operator wishes to have configured in the same fashion.

In some implementations of the invention, “peer to peer” methods are used to distribute the set of configuration values. For example, a gaming machine is configured to act as a server that can transmit the set of configuration values to various other gaming machines. Some implementations of gaming machines configured as servers are described in U.S. patent application Ser. No. 09/595,798, entitled “USING A GAMING MACHINE AS A SERVER” and filed Jun. 6, 2000, which is hereby incorporated by reference.

In step 535, it is determined whether the additional gaming machines can be configured according to the set of configuration values. If so, the successful configuration is reported (step 540) and the process ends. (Step 555.) If one or more of the additional gaming machines cannot be configured according to the set of configuration values, the unsuccessful configuration is reported (step 545). The operator is prompted to individually configure the gaming machines indicated in the report. (Step 550.) The operator may choose, for example, to configure the additional gaming machines according to method 100 or the like.

However, there are additional methods through which the set of configuration values may be distributed to other gaming machines. For example, if the operator does not wish to (or cannot) have an automated configuration performed via a network, the operator may be prompted to indicate whether he or she wishes to configure additional gaming machines using a portable storage device such as a Universal Serial Bus (“USB”) computing and storage device (also referred to as a USB key or “thumb drive”) or the like. The set of configuration values may be copied to the portable storage device (step 520) and provided to other gaming machines via the portable storage device (step 525).

However, the interface between the storage device and the gaming machine may not be according to a standard such as USB but rather a proprietary interface, e.g., developed by the gaming machine manufacturer. Using a storage medium with a proprietary interface could help to prevent unauthorized users from inputting or injecting any type of data into the tightly-controlled and guarded hardware and software platforms of gaming machines. Using digital signatures on anything written to the portable storage devices would also be desired to ensure the validity of the data.

Moreover, the storage device may include a biometric sensor, such as a fingerprint scanner, to help verify that only approved operators are using the medium. For example, the operator can apply the appropriate finger or thumb to a fingerprint scanner of the storage device. A controller of the storage device, of a gaming machine or of another device may checks the fingerprint sample against an enrollment template for that operator. Other methods of authentication and data security, including but not limited to encryption/decryption methods known in the art, may be employed to make it difficult for unauthorized persons to configure gaming machines with a portable storage device.

Information relevant to managing gaming networks, data communication within gaming networks, etc., is set forth in U.S. patent application Ser. No. 11/225,407 (Attorney Docket No. IGT1P237/P-1051), by Wolf et al., entitled “METHODS AND DEVICES FOR MANAGING GAMING NETWORKS” and filed Sep. 12, 2005, in U.S. patent application Ser. No. 10/757,609 by Nelson et al., entitled “METHODS AND APPARATUS FOR GAMING DATA DOWNLOADING” (Attorney Docket No. IGT1P213/P-657) and filed on Jan. 14, 2004, in U.S. patent application Ser. No. 10/938,293 by Benbrahim et al., entitled “METHODS AND APPARATUS FOR DATA COMMUNICATION IN A GAMING SYSTEM” (Attorney Docket No. IGT1P199/P-909) and filed on Sep. 10, 2004, in U.S. patent application Ser. No. 11/225,337 (Attorney Docket No. IGT1P185/P-1017) by Nguyen et al., filed Sep. 12, 2005 and entitled “DISTRIBUTED GAME SERVICES” and in U.S. patent application Ser. No. 11/173,442 (Attorney Docket No. IGT1P153/P-991) by Kinsley et al., filed Jul. 1, 2005 and entitled “METHODS AND DEVICES FOR DOWNLOADING GAMES OF CHANCE,” all of which are hereby incorporated by reference in their entirety and for all purposes. Some examples of gaming networks and devices are set forth below.

One example of a network topology for implementing some aspects of the present invention is shown in FIG. 6. Those of skill in the art will realize that this exemplary architecture and the related functionality are merely examples and that the present invention encompasses many other such embodiments and methods. Here, for example, a single gaming establishment 605 is illustrated, which is a casino in this example. However, it should be understood that some implementations of the present invention involve multiple gaming establishments.

Gaming establishment 605 includes 16 gaming machines 2, each of which is part of a bank 610 of gaming machines 2. In this example, gaming establishment 605 also includes a bank of networked gaming tables 617. It will be appreciated that many gaming establishments include hundreds or even thousands of gaming machines 2 and/or gaming tables 617, not all of which are included in a bank. However, the present invention may be implemented in gaming establishments having any number of gaming machines, gaming tables, etc.

Various alternative network topologies can be used to implement different aspects of the invention and/or to accommodate varying numbers of networked devices. For example, gaming establishments with very large numbers of gaming machines 2 may require multiple instances of some network devices (e.g., of main network device 625, which combines switching and routing functionality in this example) and/or the inclusion of other network devices not shown in FIG. 6. For example, some implementations of the invention include one or more middleware servers disposed between gaming machines 2 and server 630. Such middleware servers can provide various useful functions, including but not limited to the filtering and/or aggregation of data received from network devices 615, from individual gaming machines and from other player terminals. Some implementations of the invention include load balancing methods and devices for managing network traffic.

Each bank 610 has a corresponding network device 615, which may be a conventional bank switch in some implementations. In some implementations of the invention, network device 615 includes controller functionality for configuring gaming machines, as described elsewhere herein. In alternative implementations, controllers for configuring gaming machines are separate devices that do not perform all of the other functions of network device 615. Each network device 615 is connected to server-based gaming (“SBG”) server 630 via main network device 625, which combines switching and routing functionality in this example. Although various floor communication protocols may be used, some preferred implementations use IGT's open, Ethernet-based SuperSAS® protocol, which IGT makes available for downloading without charge. However, other protocols such as Best of Breed (“BOB”) may be used to implement various aspects of SBG. IGT has also developed a gaming-industry-specific transport layer called CASH that rides on top of TCP/IP and offers additional functionality and security.

SBG server 630, License Manager 631, Arbiter 133, servers 632, 634, 636 and 638, and main network device 625 are disposed within computer room 620 of gaming establishment 605. In practice, more or fewer servers may be used. Some of these servers may be configured to perform tasks relating to player loyalty and/or player tracking, bonusing/progressives, etc. Some servers may be configured to perform tasks specific to the present invention. License Manager 631 may also be implemented, at least in part, via a server or a similar device. Some exemplary operations of License Manager 631 are described in detail in U.S. patent application Ser. No. 11/225,408 (Attorney Docket No. IGT1P253), entitled “METHODS AND DEVICES FOR AUTHENTICATION AND LICENSING IN A GAMING NETWORK” by Kinsley et al., which is hereby incorporated by reference.

SBG server 630 can also be configured to implement, at least in part, various aspects of the present invention. Some preferred embodiments of SBG server 630 and the other servers shown in FIG. 6 include (or are at least in communication with) clustered CPUs, redundant storage devices, including backup storage devices, switches, etc. Such storage devices may include a redundant array of inexpensive disks (“RAID”), back-up hard drives and/or tape drives, etc. Preferably, a Radius and a DHCP server are also configured for communication with the gaming network. Some implementations of the invention provide one or more of these servers in the form of blade servers.

In some implementations of the invention, many of these devices (including but not limited to License Manager 631, servers 632, 634, 636 and 638, and main network device 625) are mounted in a single rack with SBG server 630. Accordingly, many or all such devices will sometimes be referenced in the aggregate as an “SBG server.” However, in alternative implementations, one or more of these devices is in communication with SBG server 630 and/or other devices of the network but located elsewhere. For example, some of the devices could be mounted in separate racks within computer room 620 or located elsewhere on the network. For example, it can be advantageous to store large volumes of data elsewhere via a storage area network (“SAN”).

In some embodiments, these components are SBG server 630 preferably has an uninterruptible power supply (“UPS”). The UPS may be, for example, a rack-mounted UPS module.

Computer room 620 may include one or more operator consoles or other host devices that are configured for communication with SBG server 630. Such host devices may be provided with software, hardware and/or firmware for implementing various aspects of the invention; many of these aspects involve controlling SBG server 630. However, such host devices need not be located within computer room 620. Wired host device 660 (which is a laptop computer in this example) and wireless host device (which is a PDA in this example) may be located elsewhere in gaming establishment 605 or at a remote location.

Arbiter 133 may be implemented, for example, via software that is running on a server or another networked device. Arbiter 133 serves as an intermediary between different devices on the network. Some implementations of Arbiter 133 are described in U.S. patent application Ser. No. 10/948,387, entitled “METHODS AND APPARATUS FOR NEGOTIATING COMMUNICATIONS WITHIN A GAMING NETWORK” and filed Sep. 23, 2004 (the “Arbiter Application”), which is incorporated herein by reference and for all purposes. In some preferred implementations, Arbiter 133 is a repository for the configuration information required for communication between devices on the gaming network (and, in some implementations, devices outside the gaming network). Although Arbiter 133 can be implemented in various ways, one exemplary implementation is discussed in the following paragraphs.

FIG. 7 is a block diagram of a simplified communication topology between a gaming unit 21, the network computer 23 and the Arbiter 133. Although only one gaming unit 21, one network computer 23 and one Arbiter 133 are shown in FIG. 7, it should be understood that the following examples may be applicable to different types of network gaming devices within the gaming network 12 beyond the gaming unit 21 and the network computer 23, and may include different numbers of network computers, gaming security arbiters and gaming units. For example, a single Arbiter 133 may be used for secure communications among a plurality of network computers 23 and tens, hundreds or thousands of gaming units 21. Likewise, multiple gaming security arbiters 46 may be utilized for improved performance and other scalability factors.

Referring to FIG. 7, the Arbiter 133 may include an arbiter controller 121 that may comprise a program memory 122, a microcontroller or microprocessor (MP) 124, a random-access memory (RAM) 126 and an input/output (I/O) circuit 128, all of which may be interconnected via an address/data bus 129. The network computer 23 may also include a controller 131 that may comprise a program memory 132, a microcontroller or microprocessor (MP) 134, a random-access memory (RAM) 136 and an input/output (I/O) circuit 138, all of which may be interconnected via an address/data bus 139. It should be appreciated that although the Arbiter 133 and the network computer 23 are each shown with only one microprocessor 124, 134, the controllers 121, 131 may each include multiple microprocessors 124, 134. Similarly, the memory of the controllers 121, 131 may include multiple RAMs 126, 136 and multiple program memories 122, 132. Although the I/O circuits 128, 138 are each shown as a single block, it should be appreciated that the I/O circuits 128, 138 may include a number of different types of I/O circuits. The RAMs 124, 134 and program memories 122, 132 may be implemented as semiconductor memories, magnetically readable memories, and/or optically readable memories, for example.

Although the program memories 122, 132 are shown in FIG. 7 as read-only memories (ROM) 122, 132, the program memories of the controllers 121, 131 may be a read/write or alterable memory, such as a hard disk. In the event a hard disk is used as a program memory, the address/data buses 129, 139 shown schematically in FIG. 7 may each comprise multiple address/data buses, which may be of different types, and there may be an I/O circuit disposed between the address/data buses.

As shown in FIG. 7, the gaming unit 21 may be operatively coupled to the network computer 23 via the data link 25. The gaming unit 21 may also be operatively coupled to the Arbiter 133 via the data link 47, and the network computer 23 may likewise be operatively coupled to the Arbiter 133 via the data link 47. Communications between the gaming unit 21 and the network computer 23 may involve different information types of varying levels of sensitivity resulting in varying levels of encryption techniques depending on the sensitivity of the information. For example, communications such as drink orders and statistical information may be considered less sensitive. A drink order or statistical information may remain encrypted, although with moderately secure encryption techniques, such as RC4, resulting in less processing power and less time for encryption. On the other hand, financial information (e.g., account information, winnings, etc.), game download information (e.g., game software and game licensing information) and personal information (e.g., social security number, personal preferences, etc.) may be encrypted with stronger encryption techniques such as DES or 3DES to provide increased security.

As disclosed in further detail in the Arbiter Application, the Arbiter 133 may verify the authenticity of each network gaming device. The Arbiter 133 may receive a request for a communication session from a network device. For ease of explanation, the requesting network device may be referred to as the client, and the requested network device may be referred to as the host. The client may be any device on the network 12 and the request may be for a communication session with any other network device. The client may specify the host, or the gaming security arbiter may select the host based on the request and based on information about the client and potential hosts. The Arbiter 133 may provide encryption keys (session keys) for the communication session to the client via the secure communication channel. Either the host and/or the session key may be provided in response to the request, or may have been previously provided. The client may contact the host to initiate the communication session. The host may then contact the Arbiter 133 to determine the authenticity of the client. The Arbiter 133 may provide affirmation (or lack thereof) of the authenticity of the client to the host and provide a corresponding session key, in response to which the network devices may initiate the communication session directly with each other using the session keys to encrypt and decrypt messages.

Alternatively, upon receiving a request for a communication session, the Arbiter 133 may contact the host regarding the request and provide corresponding session keys to both the client and the host. The Arbiter 133 may then initiate either the client or the host to begin their communication session. In turn, the client and host may begin the communication session directly with each other using the session keys to encrypt and decrypt messages. An additional explanation of the communication request, communication response and key distribution is provided in the Arbiter Application.

Wireless devices are particularly useful for managing a gaming network. Such wireless devices could include, but are not limited to, laptops, PDAs or even cellular telephones. Referring once again to FIG. 6, one or more network devices in gaming establishment 605 can be configured as wireless access points. For example, a casino manager may use a wireless handheld device to revise and/or schedule gaming machine configurations while roaming the casino floor. Similarly, a representative of a regulatory body could use a PDA to verify gaming machine configurations, generate reports, view activity logs, etc., while on the casino floor.

If a host device is located in a remote location, security methods and devices (such as firewalls, authentication and/or encryption) should be deployed in order to prevent the unauthorized access of the gaming network. Similarly, any other connection between gaming network 605 and the outside world should only be made with trusted devices via a secure link, e.g., via a virtual private network (“VPN”) tunnel. For example, the illustrated connection between SBG 630, gateway 650 and central system 663 (here, IGT.com) that may be used for game downloads, etc., is advantageously made via a VPN tunnel.

An Internet-based VPN uses the open, distributed infrastructure of the Internet to transmit data between sites. A VPN may emulate a private IP network over public or shared infrastructures. A VPN that supports only IP traffic is called an IP-VPN. VPNs provide advantages to both the service provider and its customers. For its customers, a VPN can extend the IP capabilities of a corporate site to remote offices and/or users with intranet, extranet, and dial-up services. This connectivity may be achieved at a lower cost to the gaming entity with savings in capital equipment, operations, and services. Details of VPN methods that may be used with the present invention are described in the reference, “Virtual Private Networks-Technologies and Solutions,” by R. Yueh and T. Strayer, Addison-Wesley, 2001, ISBN#0-201-70209-6, which is incorporated herein by reference and for all purposes.

There are many ways in which IP VPN services may be implemented, such as, for example, Virtual Leased Lines, Virtual Private Routed Networks, Virtual Private Dial Networks, Virtual Private LAN Segments, etc. Additionally VPNs may be implemented using a variety of protocols, such as, for example, IP Security (IPSec) Protocol, Layer 2 Tunneling Protocol, Multiprotocol Label Switching (MPLS) Protocol, etc. Details of these protocols, including RFC reports, may be obtained from the VPN Consortium, an industry trade group (http://www.vpnc.com, VPNC, Santa Cruz, Calif.).

For security purposes, any information transmitted to or from a gaming establishment over a public network may be encrypted. In one implementation, the information may be symmetrically encrypted using a symmetric encryption key, where the symmetric encryption key is asymmetrically encrypted using a private key. The public key may be obtained from a remote public key server. The encryption algorithm may reside in processor logic stored on the gaming machine. When a remote server receives a message containing the encrypted data, the symmetric encryption key is decrypted with a private key residing on the remote server and the symmetrically encrypted information sent from the gaming machine is decrypted using the symmetric encryption key. A different symmetric encryption key is used for each transaction where the key is randomly generated. Symmetric encryption and decryption is preferably applied to most information because symmetric encryption algorithms tend to be 100-10,000 faster than asymmetric encryption algorithms.

As mentioned elsewhere herein, U.S. patent application Ser. No. 11/225,408 (Attorney Docket No. IGT1P253), entitled “METHODS AND DEVICES FOR AUTHENTICATION AND LICENSING IN A GAMING NETWORK” by Kinsley et al., describes novel methods and devices for authentication, game downloading and game license management. This application has been incorporated herein by reference.

Providing a secure connection between the local devices of the SBG system and IGT's central system allows for the deployment of many advantageous features. For example, a customer (e.g., an employee of a gaming establishment) can log onto an account of central system 663 (in this example, IGT.com) to obtain the account information such as the customer's current and prior account status.

Moreover, such a secure connection may be used by the central system 663 to collect information regarding a customer's system. Such information includes, but is not limited to, error logs for use in diagnostics and troubleshooting. Some implementations of the invention allow a central system to collect other types of information, e.g., information about the usage of certain types of gaming software, revenue information regarding certain types of games and/or gaming machines, etc. Such information includes, but is not limited to, information regarding the revenue attributable to particular games at specific times of day, days of the week, etc. Such information may be obtained, at least in part, by reference to an accounting system of the gaming network(s), as described in U.S. patent application Ser. No. 11/225,407 (Attorney Docket No. IGT1P237/P-1051), by Wolf et al., entitled “METHODS AND DEVICES FOR MANAGING GAMING NETWORKS,” which has been incorporated herein by reference.

Automatic updates of a customer's SBG server may also be enabled. For example, central system 663 may notify a local SBG server regarding new products and/or product updates. For example, central system 663 may notify a local SBG server regarding updates of new gaming software, gaming software updates, peripheral updates, the status of current gaming software licenses, etc. In some implementations of the invention, central system 663 may notify a local SBG server (or another device associated with a gaming establishment) that an additional theme-specific data set and/or updates for a previously-downloaded global payout set are available. Alternatively, such updates could be automatically provided to the local SBG server and downloaded to networked gaming machines.

After the local SBG server receives this information, it can identify relevant products of interest. For example, the local SBG server may identify gaming software that is currently in use (or at least licensed) by the relevant gaming entity and send a notification to one or more host devices, e.g., via email. If an update or a new software product is desired, it can be downloaded from the central system. Some relevant downloading methods are described elsewhere herein and in applications that have been incorporated herein by reference, e.g., in U.S. patent application Ser. No. 11/078,966. Similarly, a customer may choose to renew a gaming software license via a secure connection with central system 663 in response to such a notification.

Secure communication links allow notifications to be sent securely from a local SBG server to host devices outside of a gaming establishment. For example, a local SBG server can be configured to transmit automatically generated email reports, text messages, etc., based on predetermined events that will sometimes be referred to herein as “triggers.” Such triggers can include, but are not limited to, the condition of a gaming machine door being open, cash box full, machine not responding, verification failure, etc.

In addition, providing secure connections between different gaming establishments can enable alternative implementations of the invention. For example, a number of gaming establishments, each with a relatively small number of gaming machines, may be owned and/or controlled by the same entity. In such situations, having secure communications between gaming establishments makes it possible for a gaming entity to use a single SBG server as an interface between central system 663 and the gaming establishments.

Turning next to FIG. 8, a video gaming machine 2 of the present invention is shown. Machine 2 includes a main cabinet 4, which generally surrounds the machine interior (not shown) and is viewable by users. The main cabinet includes a main door 8 on the front of the machine, which opens to provide access to the interior of the machine. Attached to the main door are player-input switches or buttons 32, a coin acceptor 28, and a bill validator 30, a coin tray 38, and a belly glass 40. Viewable through the main door is a video display monitor 34 and an information panel 36. The display monitor 34 will typically be a cathode ray tube, high resolution flat-panel LCD, or other conventional electronically controlled video monitor. The information panel 36 may be a back-lit, silk screened glass panel with lettering to indicate general game information including, for example, a game denomination (e.g. $0.25 or $1). The bill validator 30, player-input switches 32, video display monitor 34, and information panel are devices used to play a game on the game machine 2. The devices are controlled by circuitry (e.g. the master gaming controller) housed inside the main cabinet 4 of the machine 2.

Many different types of games, including mechanical slot games, video slot games, video poker, video black jack, video pachinko and lottery, may be provided with gaming machines of this invention. In particular, the gaming machine 2 may be operable to provide a play of many different instances of games of chance. The instances may be differentiated according to themes, sounds, graphics, type of game (e.g., slot game vs. card game), denomination, number of paylines, maximum jackpot, progressive or non-progressive, bonus games, etc. The gaming machine 2 may be operable to allow a player to select a game of chance to play from a plurality of instances available on the gaming machine. For example, the gaming machine may provide a menu with a list of the instances of games that are available for play on the gaming machine and a player may be able to select from the list a first instance of a game of chance that they wish to play.

The various instances of games available for play on the gaming machine 2 may be stored as game software on a mass storage device in the gaming machine or may be generated on a remote gaming device but then displayed on the gaming machine. The gaming machine 2 may executed game software, such as but not limited to video streaming software that allows the game to be displayed on the gaming machine. When an instance is stored on the gaming machine 2, it may be loaded from the mass storage device into a RAM for execution. In some cases, after a selection of an instance, the game software that allows the selected instance to be generated may be downloaded from a remote gaming device, such as another gaming machine.

The gaming machine 2 includes a top box 6, which sits on top of the main cabinet 4. The top box 6 houses a number of devices, which may be used to add features to a game being played on the gaming machine 2, including speakers 10, 12, 14, a ticket printer 18 which prints bar-coded tickets 20, a key pad 22 for entering player tracking information, a florescent display 16 for displaying player tracking information, a card reader 24 for entering a magnetic striped card containing player tracking information, and a video display screen 42. The ticket printer 18 may be used to print tickets for a cashless ticketing system. Further, the top box 6 may house different or additional devices than shown in the FIG. 1. For example, the top box may contain a bonus wheel or a back-lit silk screened panel which may be used to add bonus features to the game being played on the gaming machine. As another example, the top box may contain a display for a progressive jackpot offered on the gaming machine. During a game, these devices are controlled and powered, in part, by circuitry (e.g. a master gaming controller) housed within the main cabinet 4 of the machine 2.

Understand that gaming machine 2 is but one example from a wide range of gaming machine designs on which the present invention may be implemented. For example, not all suitable gaming machines have top boxes or player tracking features. Further, some gaming machines have only a single game display—mechanical or video, while others are designed for bar tables and have displays that face upwards. As another example, a game may be generated in on a host computer and may be displayed on a remote terminal or a remote gaming device. The remote gaming device may be connected to the host computer via a network of some type such as a local area network, a wide area network, an intranet or the Internet. The remote gaming device may be a portable gaming device such as but not limited to a cell phone, a personal digital assistant, and a wireless game player. Images rendered from 3-D gaming environments may be displayed on portable gaming devices that are used to play a game of chance. Further a gaming machine or server may include gaming logic for commanding a remote gaming device to render an image from a virtual camera in a 3-D gaming environments stored on the remote gaming device and to display the rendered image on a display located on the remote gaming device. Thus, those of skill in the art will understand that the present invention, as described below, can be deployed on most any gaming machine now available or hereafter developed.

Some preferred gaming machines of the present assignee are implemented with special features and/or additional circuitry that differentiates them from general-purpose computers (e.g., desktop PC's and laptops). Gaming machines are highly regulated to ensure fairness and, in many cases, gaming machines are operable to dispense monetary awards of multiple millions of dollars. Therefore, to satisfy security and regulatory requirements in a gaming environment, hardware and software architectures may be implemented in gaming machines that differ significantly from those of general-purpose computers. A description of gaming machines relative to general-purpose computing machines and some examples of the additional (or different) components and features found in gaming machines are described below.

At first glance, one might think that adapting PC technologies to the gaming industry would be a simple proposition because both PCs and gaming machines employ microprocessors that control a variety of devices. However, because of such reasons as 1) the regulatory requirements that are placed upon gaming machines, 2) the harsh environment in which gaming machines operate, 3) security requirements and 4) fault tolerance requirements, adapting PC technologies to a gaming machine can be quite difficult. Further, techniques and methods for solving a problem in the PC industry, such as device compatibility and connectivity issues, might not be adequate in the gaming environment. For instance, a fault or a weakness tolerated in a PC, such as security holes in software or frequent crashes, may not be tolerated in a gaming machine because in a gaming machine these faults can lead to a direct loss of funds from the gaming machine, such as stolen cash or loss of revenue when the gaming machine is not operating properly.

For the purposes of illustration, a few differences between PC systems and gaming systems will be described. A first difference between gaming machines and common PC based computers systems is that gaming machines are designed to be state-based systems. In a state-based system, the system stores and maintains its current state in a non-volatile memory, such that, in the event of a power failure or other malfunction the gaming machine will return to its current state when the power is restored. For instance, if a player was shown an award for a game of chance and, before the award could be provided to the player the power failed, the gaming machine, upon the restoration of power, would return to the state where the award is indicated. As anyone who has used a PC, knows, PCs are not state machines and a majority of data is usually lost when a malfunction occurs. This requirement affects the software and hardware design on a gaming machine.

A second important difference between gaming machines and common PC based computer systems is that for regulation purposes, the software on the gaming machine used to generate the game of chance and operate the gaming machine has been designed to be static and monolithic to prevent cheating by the operator of gaming machine. For instance, one solution that has been employed in the gaming industry to prevent cheating and satisfy regulatory requirements has been to manufacture a gaming machine that can use a proprietary processor running instructions to generate the game of chance from an EPROM or other form of non-volatile memory. The coding instructions on the EPROM are static (non-changeable) and must be approved by a gaming regulators in a particular jurisdiction and installed in the presence of a person representing the gaming jurisdiction. Any changes to any part of the software required to generate the game of chance, such as adding a new device driver used by the master gaming controller to operate a device during generation of the game of chance can require a new EPROM to be burnt, approved by the gaming jurisdiction and reinstalled on the gaming machine in the presence of a gaming regulator. Regardless of whether the EPROM solution is used, to gain approval in most gaming jurisdictions, a gaming machine must demonstrate sufficient safeguards that prevent an operator or player of a gaming machine from manipulating hardware and software in a manner that gives them an unfair and some cases an illegal advantage. The gaming machine should have a means to determine if the code it will execute is valid. If the code is not valid, the gaming machine must have a means to prevent the code from being executed. The code validation requirements in the gaming industry affect both hardware and software designs on gaming machines.

A third important difference between gaming machines and common PC based computer systems is the number and kinds of peripheral devices used on a gaming machine are not as great as on PC based computer systems. Traditionally, in the gaming industry, gaming machines have been relatively simple in the sense that the number of peripheral devices and the number of functions the gaming machine has been limited. Further, in operation, the functionality of gaming machines were relatively constant once the gaming machine was deployed, i.e., new peripherals devices and new gaming software were infrequently added to the gaming machine. This differs from a PC where users will go out and buy different combinations of devices and software from different manufacturers and connect them to a PC to suit their needs depending on a desired application. Therefore, the types of devices connected to a PC may vary greatly from user to user depending in their individual requirements and may vary significantly over time.

Although the variety of devices available for a PC may be greater than on a gaming machine, gaming machines still have unique device requirements that differ from a PC, such as device security requirements not usually addressed by PCs. For instance, monetary devices, such as coin dispensers, bill validators and ticket printers and computing devices that are used to govern the input and output of cash to a gaming machine have security requirements that are not typically addressed in PCs. Therefore, many PC techniques and methods developed to facilitate device connectivity and device compatibility do not address the emphasis placed on security in the gaming industry.

To address some of the issues described above, a number of hardware/software components and architectures are utilized in gaming machines that are not typically found in general purpose computing devices, such as PCs. These hardware/software components and architectures, as described below in more detail, include but are not limited to watchdog timers, voltage monitoring systems, state-based software architecture and supporting hardware, specialized communication interfaces, security monitoring and trusted memory.

A watchdog timer is normally used in IGT gaming machines to provide a software failure detection mechanism. In a normally operating system, the operating software periodically accesses control registers in the watchdog timer subsystem to “re-trigger” the watchdog. Should the operating software fail to access the control registers within a preset timeframe, the watchdog timer will timeout and generate a system reset. Typical watchdog timer circuits contain a loadable timeout counter register to allow the operating software to set the timeout interval within a certain range of time. A differentiating feature of the some preferred circuits is that the operating software cannot completely disable the function of the watchdog timer. In other words, the watchdog timer always functions from the time power is applied to the board.

IGT gaming computer platforms preferably use several power supply voltages to operate portions of the computer circuitry. These can be generated in a central power supply or locally on the computer board. If any of these voltages falls out of the tolerance limits of the circuitry they power, unpredictable operation of the computer may result. Though most modern general-purpose computers include voltage monitoring circuitry, these types of circuits only report voltage status to the operating software. Out of tolerance voltages can cause software malfunction, creating a potential uncontrolled condition in the gaming computer. Gaming machines of the present assignee typically have power supplies with tighter voltage margins than that required by the operating circuitry. In addition, the voltage monitoring circuitry implemented in IGT gaming computers typically has two thresholds of control. The first threshold generates a software event that can be detected by the operating software and an error condition generated. This threshold is triggered when a power supply voltage falls out of the tolerance range of the power supply, but is still within the operating range of the circuitry. The second threshold is set when a power supply voltage falls out of the operating tolerance of the circuitry. In this case, the circuitry generates a reset, halting operation of the computer.

The standard method of operation for IGT slot machine game software is to use a state machine. Different functions of the game (bet, play, result, points in the graphical presentation, etc.) may be defined as a state. When a game moves from one state to another, critical data regarding the game software is stored in a custom non-volatile memory subsystem. This is critical to ensure the player's wager and credits are preserved and to minimize potential disputes in the event of a malfunction on the gaming machine.

In general, the gaming machine does not advance from a first state to a second state until critical information that allows the first state to be reconstructed is stored. This feature allows the game to recover operation to the current state of play in the event of a malfunction, loss of power, etc that occurred just prior to the malfunction. After the state of the gaming machine is restored during the play of a game of chance, game play may resume and the game may be completed in a manner that is no different than if the malfunction had not occurred. Typically, battery backed RAM devices are used to preserve this critical data although other types of non-volatile memory devices may be employed. These memory devices are not used in typical general-purpose computers.

As described in the preceding paragraph, when a malfunction occurs during a game of chance, the gaming machine may be restored to a state in the game of chance just prior to when the malfunction occurred. The restored state may include metering information and graphical information that was displayed on the gaming machine in the state prior to the malfunction. For example, when the malfunction occurs during the play of a card game after the cards have been dealt, the gaming machine may be restored with the cards that were previously displayed as part of the card game. As another example, a bonus game may be triggered during the play of a game of chance where a player is required to make a number of selections on a video display screen. When a malfunction has occurred after the player has made one or more selections, the gaming machine may be restored to a state that shows the graphical presentation at the just prior to the malfunction including an indication of selections that have already been made by the player. In general, the gaming machine may be restored to any state in a plurality of states that occur in the game of chance that occurs while the game of chance is played or to states that occur between the play of a game of chance.

Game history information regarding previous games played such as an amount wagered, the outcome of the game and so forth may also be stored in a non-volatile memory device. The information stored in the non-volatile memory may be detailed enough to reconstruct a portion of the graphical presentation that was previously presented on the gaming machine and the state of the gaming machine (e.g., credits) at the time the game of chance was played. The game history information may be utilized in the event of a dispute. For example, a player may decide that in a previous game of chance that they did not receive credit for an award that they believed they won. The game history information may be used to reconstruct the state of the gaming machine prior, during and/or after the disputed game to demonstrate whether the player was correct or not in their assertion.

Another feature of gaming machines, such as IGT gaming computers, is that they often contain unique interfaces, including serial interfaces, to connect to specific subsystems internal and external to the slot machine. The serial devices may have electrical interface requirements that differ from the “standard” EIA 232 serial interfaces provided by general-purpose computers. These interfaces may include EIA 485, EIA 422, Fiber Optic Serial, optically coupled serial interfaces, current loop style serial interfaces, etc. In addition, to conserve serial interfaces internally in the slot machine, serial devices may be connected in a shared, daisy-chain fashion where multiple peripheral devices are connected to a single serial channel.

The serial interfaces may be used to transmit information using communication protocols that are unique to the gaming industry. For example, IGT's Netplex is a proprietary communication protocol used for serial communication between gaming devices. As another example, SAS is a communication protocol used to transmit information, such as metering information, from a gaming machine to a remote device. Often SAS is used in conjunction with a player tracking system.

IGT gaming machines may alternatively be treated as peripheral devices to a casino communication controller and connected in a shared daisy chain fashion to a single serial interface. In both cases, the peripheral devices are preferably assigned device addresses. If so, the serial controller circuitry must implement a method to generate or detect unique device addresses. General-purpose computer serial ports are not able to do this.

Security monitoring circuits detect intrusion into an IGT gaming machine by monitoring security switches attached to access doors in the slot machine cabinet. Preferably, access violations result in suspension of game play and can trigger additional security operations to preserve the current state of game play. These circuits also function when power is off by use of a battery backup. In power-off operation, these circuits continue to monitor the access doors of the slot machine. When power is restored, the gaming machine can determine whether any security violations occurred while power was off, e.g., via software for reading status registers. This can trigger event log entries and further data authentication operations by the slot machine software.

Trusted memory devices are preferably included in an IGT gaming machine computer to ensure the authenticity of the software that may be stored on less secure memory subsystems, such as mass storage devices. Trusted memory devices and controlling circuitry are typically designed to not allow modification of the code and data stored in the memory device while the memory device is installed in the slot machine. The code and data stored in these devices may include authentication algorithms, random number generators, authentication keys, operating system kernels, etc. The purpose of these trusted memory devices is to provide gaming regulatory authorities a root trusted authority within the computing environment of the slot machine that can be tracked and verified as original. This may be accomplished via removal of the trusted memory device from the slot machine computer and verification of the secure memory device contents is a separate third party verification device. Once the trusted memory device is verified as authentic, and based on the approval of the verification algorithms contained in the trusted device, the gaming machine is allowed to verify the authenticity of additional code and data that may be located in the gaming computer assembly, such as code and data stored on hard disk drives. A few details related to trusted memory devices that may be used in the present invention are described in U.S. Pat. No. 6,685,567 from U.S. patent application Ser. No. 09/925,098, filed Aug. 8, 2001 and titled “Process Verification,” which is incorporated herein in its entirety and for all purposes.

Mass storage devices used in a general purpose computer typically allow code and data to be read from and written to the mass storage device. In a gaming machine environment, modification of the gaming code stored on a mass storage device is strictly controlled and would only be allowed under specific maintenance type events with electronic and physical enablers required. Though this level of security could be provided by software, IGT gaming computers that include mass storage devices preferably include hardware level mass storage data protection circuitry that operates at the circuit level to monitor attempts to modify data on the mass storage device and will generate both software and hardware error triggers should a data modification be attempted without the proper electronic and physical enablers being present.

Returning to the example of FIG. 8, when a user wishes to play the gaming machine 2, he or she inserts cash through the coin acceptor 28 or bill validator 30. Additionally, the bill validator may accept a printed ticket voucher which may be accepted by the bill validator 30 as an indicia of credit when a cashless ticketing system is used. At the start of the game, the player may enter playing tracking information using the card reader 24, the keypad 22, and the florescent display 16. Further, other game preferences of the player playing the game may be read from a card inserted into the card reader. During the game, the player views game information using the video display 34. Other game and prize information may also be displayed in the video display screen 42 located in the top box.

During the course of a game, a player may be required to make a number of decisions, which affect the outcome of the game. For example, a player may vary his or her wager on a particular game, select a prize for a particular game selected from a prize server, or make game decisions which affect the outcome of a particular game. The player may make these choices using the player-input switches 32, the video display screen 34 or using some other device which enables a player to input information into the gaming machine. In some embodiments, the player may be able to access various game services such as concierge services and entertainment content services using the video display screen 34 and one more input devices.

During certain game events, the gaming machine 2 may display visual and auditory effects that can be perceived by the player. These effects add to the excitement of a game, which makes a player more likely to continue playing. Auditory effects include various sounds that are projected by the speakers 10, 12, 14. Visual effects include flashing lights, strobing lights or other patterns displayed from lights on the gaming machine 2 or from lights behind the belly glass 40. After the player has completed a game, the player may receive game tokens from the coin tray 38 or the ticket 20 from the printer 18, which may be used for further games or to redeem a prize. Further, the player may receive a ticket 20 for food, merchandise, or games from the printer 18.

A gaming network that may be used to implement additional methods performed in accordance with embodiments of the invention is depicted in FIG. 9. Gaming establishment 901 could be any sort of gaming establishment, such as a casino, a card room, an airport, a store, etc. In this example, gaming network 977 includes more than one gaming establishment, all of which are networked to game server 922.

Here, gaming machine 902, and the other gaming machines 930, 932, 934, and 936, include a main cabinet 906 and a top box 904. The main cabinet 906 houses the main gaming elements and can also house peripheral systems, such as those that utilize dedicated gaming networks. The top box 904 may also be used to house these peripheral systems.

The master gaming controller 908 controls the game play on the gaming machine 902 according to instructions and/or game data from game server 922 or stored within gaming machine 902 and receives or sends data to various input/output devices 911 on the gaming machine 902. In one embodiment, master gaming controller 908 includes processor(s) and other apparatus of the gaming machines described elsewhere herein. The master gaming controller 908 may also communicate with a display 910.

A particular gaming entity may desire to provide network gaming services that provide some operational advantage. Thus, dedicated networks may connect gaming machines to host servers that track the performance of gaming machines under the control of the entity, such as for accounting management, electronic fund transfers (EFTs), cashless ticketing, such as EZPay™, marketing management, and data tracking, such as player tracking. Therefore, master gaming controller 908 may also communicate with EFT system 912, EZPay™ system 916 (a proprietary cashless ticketing system of the present assignee), and player tracking system 920. The systems of the gaming machine 902 communicate the data onto the network 922 via a communication board 918.

It will be appreciated by those of skill in the art that embodiments of the present invention could be implemented on a network with more or fewer elements than are depicted in FIG. 9. For example, player tracking system 920 is not a necessary feature of some implementations of the present invention. However, player tracking programs may help to sustain a game player's interest in additional game play during a visit to a gaming establishment and may entice a player to visit a gaming establishment to partake in various gaming activities. Player tracking programs provide rewards to players that typically correspond to the player's level of patronage (e.g., to the player's playing frequency and/or total amount of game plays at a given casino). Player tracking rewards may be free meals, free lodging and/or free entertainment. Moreover, player tracking information may be combined with other information that is now readily obtainable by an SBG system.

Moreover, DCU 924 and translator 925 are not required for all gaming establishments 901. However, due to the sensitive nature of much of the information on a gaming network (e.g., electronic fund transfers and player tracking data) the manufacturer of a host system usually employs a particular networking language having proprietary protocols. For instance, 10-20 different companies produce player tracking host systems where each host system may use different protocols. These proprietary protocols are usually considered highly confidential and not released publicly.

Further, in the gaming industry, gaming machines are made by many different manufacturers. The communication protocols on the gaming machine are typically hard-wired into the gaming machine and each gaming machine manufacturer may utilize a different proprietary communication protocol. A gaming machine manufacturer may also produce host systems, in which case their gaming machine are compatible with their own host systems. However, in a heterogeneous gaming environment, gaming machines from different manufacturers, each with its own communication protocol, may be connected to host systems from other manufacturers, each with another communication protocol. Therefore, communication compatibility issues regarding the protocols used by the gaming machines in the system and protocols used by the host systems must be considered.

A network device that links a gaming establishment with another gaming establishment and/or a central system will sometimes be referred to herein as a “site controller.” Here, site controller 942 provides this function for gaming establishment 901. Site controller 942 is connected to a central system and/or other gaming establishments via one or more networks, which may be public or private networks. Among other things, site controller 942 communicates with game server 922 to obtain game data, such as ball drop data, bingo card data, etc.

In the present illustration, gaming machines 902, 930, 932, 934 and 936 are connected to a dedicated gaming network 922. In general, the DCU 924 functions as an intermediary between the different gaming machines on the network 922 and the site controller 942. In general, the DCU 924 receives data transmitted from the gaming machines and sends the data to the site controller 942 over a transmission path 926. In some instances, when the hardware interface used by the gaming machine is not compatible with site controller 942, a translator 925 may be used to convert serial data from the DCU 924 to a format accepted by site controller 942. The translator may provide this conversion service to a plurality of DCUs.

Further, in some dedicated gaming networks, the DCU 924 can receive data transmitted from site controller 942 for communication to the gaming machines on the gaming network. The received data may be, for example, communicated synchronously to the gaming machines on the gaming network.

Here, CVT 952 provides cashless and cashout gaming services to the gaming machines in gaming establishment 901. Broadly speaking, CVT 952 authorizes and validates cashless gaming machine instruments (also referred to herein as “tickets” or “vouchers”), including but not limited to tickets for causing a gaming machine to display a game result and cash-out tickets. Moreover, CVT 952 authorizes the exchange of a cashout ticket for cash. These processes will be described in detail below. In one example, when a player attempts to redeem a cash-out ticket for cash at cashout kiosk 944, cash out kiosk 944 reads validation data from the cashout ticket and transmits the validation data to CVT 952 for validation. The tickets may be printed by gaming machines, by cashout kiosk 944, by a stand-alone printer, by CVT 952, etc. Some gaming establishments will not have a cashout kiosk 944. Instead, a cashout ticket could be redeemed for cash by a cashier (e.g. of a convenience store), by a gaming machine or by a specially configured CVT.

Some methods of the invention combine information that can be obtained from game network accounting systems with features described above. By combining, for example, information regarding scheduled gaming machine configurations and information regarding the amount of money that a gaming machine brings in while a gaming machine has a particular configuration, gaming machine configurations may be optimized to maximize revenue. Some such methods involve determining a first rate of revenue obtained by a gaming machine in the gaming network during a first time when the gaming machine has a first configuration. The gaming machine is later automatically configured according to second configuration information supplied by the SBG server, e.g., as scheduled by the Scheduler. A second rate of revenue, obtained by the gaming machine during a second time when the gaming machine has the second configuration, is determined, and so on.

After scheduling various configurations at various times, optimum configurations for the gaming machine may be determined for various times of day. The SBG system can them provide scheduled optimal configurations for the gaming machine at the corresponding times of day. Some implementations provide for groups (e.g., banks) of gaming machines to be automatically configured according to a predetermined schedule of optimal configurations for various times of day, days of the week, times of the year, etc.

In some such implementations, an average revenue may be computed, based on revenue from many gaming machines having the same configuration at the same time of day. These average revenues could be used to determine an overall optimal value for relevant time periods.

FIG. 10 illustrates an example of a network device that may be configured for implementing some methods of the present invention. Network device 1060 includes a master central processing unit (CPU) 1062, interfaces 1068, and a bus 1067 (e.g., a PCI bus). Generally, interfaces 1068 include ports 1069 appropriate for communication with the appropriate media. In some embodiments, one or more of interfaces 1068 includes at least one independent processor and, in some instances, volatile RAM. The independent processors may be, for example, ASICs or any other appropriate processors. According to some such embodiments, these independent processors perform at least some of the functions of the logic described herein. In some embodiments, one or more of interfaces 1068 control such communications-intensive tasks as encryption, decryption, compression, decompression, packetization, media control and management. By providing separate processors for the communications-intensive tasks, interfaces 1068 allow the master microprocessor 1062 efficiently to perform other functions such as routing computations, network diagnostics, security functions, etc.

The interfaces 1068 are typically provided as interface cards (sometimes referred to as “linecards”). Generally, interfaces 1068 control the sending and receiving of data packets over the network and sometimes support other peripherals used with the network device 1060. Among the interfaces that may be provided are FC interfaces, Ethernet interfaces, frame relay interfaces, cable interfaces, DSL interfaces, token ring interfaces, and the like. In addition, various very high-speed interfaces may be provided, such as fast Ethernet interfaces, Gigabit Ethernet interfaces, ATM interfaces, HSSI interfaces, POS interfaces, FDDI interfaces, ASI interfaces, DHEI interfaces and the like.

When acting under the control of appropriate software or firmware, in some implementations of the invention CPU 1062 may be responsible for implementing specific functions associated with the functions of a desired network device. According to some embodiments, CPU 1062 accomplishes all these functions under the control of software including an operating system and any appropriate applications software.

CPU 1062 may include one or more processors 1063 such as a processor from the Motorola family of microprocessors or the MIPS family of microprocessors. In an alternative embodiment, processor 1063 is specially designed hardware for controlling the operations of network device 1060. In a specific embodiment, a memory 1061 (such as non-volatile RAM and/or ROM) also forms part of CPU 1062. However, there are many different ways in which memory could be coupled to the system. Memory block 1061 may be used for a variety of purposes such as, for example, caching and/or storing data, programming instructions, etc.

Regardless of network device's configuration, it may employ one or more memories or memory modules (such as, for example, memory block 1065) configured to store data, program instructions for the general-purpose network operations and/or other information relating to the functionality of the techniques described herein. The program instructions may control the operation of an operating system and/or one or more applications, for example.

Because such information and program instructions may be employed to implement the systems/methods described herein, the present invention relates to machine-readable media that include program instructions, state information, etc. for performing various operations described herein. Examples of machine-readable media include, but are not limited to, magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROM disks; magneto-optical media; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory devices (ROM) and random access memory (RAM). The invention may also be embodied in a carrier wave traveling over an appropriate medium such as airwaves, optical lines, electric lines, etc. Examples of program instructions include both machine code, such as produced by a compiler, and files containing higher-level code that may be executed by the computer using an interpreter.

Although the system shown in FIG. 10 illustrates one specific network device of the present invention, it is by no means the only network device architecture on which the present invention can be implemented. For example, an architecture having a single processor that handles communications as well as routing computations, etc. is often used. Further, other types of interfaces and media could also be used with the network device. The communication path between interfaces may be bus based (as shown in FIG. 10) or switch fabric based (such as a cross-bar).

While this invention is described in terms of preferred embodiments, there are alterations, permutations, and equivalents that fall within the scope of the invention. It should also be noted that there are many alternative ways of implementing the present invention. It is therefore intended that the invention not be limited to the preferred embodiments described herein, but instead that the invention should be interpreted as including all such alterations, permutations, and equivalents as fall within the true spirit and scope of the present invention.

For example, in other implementations of the invention, a smaller set of configuration items may be exposed during a configuration process. The set of configuration items may be, for example, standard across all major manufacturers of gaming machines, games (e.g., poker, bingo, keno, slot games, including specialized slot games such as Wheel of Fortune®, etc.

In other implementations, the SBG system (or a similar central system, a host device of such a system, etc.) stores code that implements rules regarding the inter-relationships of configuration items. A device of an SBG system could, for example, send down a Java™ applet to an EGM for implementing these rules.

Alternatively (or additionally), there could be intermediate devices between gaming machines and a device of an SBG system (e.g., a controller/server device in a carousel of gaming machines) with intelligence to initiate and/or monitor the configuration process. This could be the same device referenced above that includes logic for implementing rules about inter-relationships between configuration item values.

Moreover, some implementations of the invention involve only partial rule sets and/or partial configuration parameter sets. The configuration techniques could be applied to partial sets of configuration item values and need not involve a full suite of configuration item values for everything on a gaming machine. For example, a configuration process could apply to one or more peripheral devices, such as a ticket printer. The corresponding rule set could be similar in scope.

In addition, the configuration methods and devices described herein may be used to configure devices other than gaming machines. Examples of other devices that may be configured according to such methods include, but are not limited to, peripheral devices, kiosks, network devices such as servers (e.g., for failover), etc. 

1. A gaming machine, comprising: means for providing a wagering game; an interface for receiving an instruction to set a first configuration value relating to the provision of the wagering game; and at least one logic device configured to do the following: determine whether the first configuration value would cause a rule violation; and alter the first configuration value or a related configuration value when it is determined that accepting the first configuration value would cause a rule violation.
 2. The gaming machine of claim 1, wherein the interface comprises a user interface.
 3. The gaming machine of claim 1, wherein the interface comprises a network interface.
 4. The gaming machine of claim 1, wherein the interface comprises a uniform serial bus interface.
 5. The gaming machine of claim 1, wherein the interface comprises external storage media.
 6. The gaming machine of claim 1, wherein at least one logic device is further configured to report an altered configuration value.
 7. The gaming machine of claim 1, wherein at least one logic device is further configured to prompt a user to accept or reject a proposed alteration to a configuration value.
 8. The gaming machine of claim 1, wherein at least one logic device is further configured to allow a user to enable or disable the gaming machine's ability to alter an indicated configuration value.
 9. The gaming machine of claim 1, wherein the rule violation comprises an incompatibility between the first configuration value and a second configuration value.
 10. The gaming machine of claim 1, wherein the rule violation comprises a jurisdictional law violation.
 11. The gaming machine of claim 3, wherein at least one logic device is further configured to host a configuration menu via the network interface.
 12. The gaming machine of claim 3, wherein at least one logic device is further configured to send configuration instructions to other gaming machines via the network interface.
 13. An apparatus, comprising: a network interface for receiving an instruction to set a first configuration value relating to the provision of a wagering game; and at least one logic device configured to do the following: determine whether the first configuration value would cause a rule violation; and alter the first configuration value or a related configuration value when it is determined that accepting the first configuration value would cause a rule violation.
 14. The apparatus of claim 13, wherein at least one logic device is further configured to send configuration instructions to a plurality of gaming machines via the network interface.
 15. The apparatus of claim 13, further comprising means for providing a wagering game.
 16. A method, comprising: receiving an instruction to set a first configuration value relating to the provision of a wagering game; determining whether the first configuration value would cause a rule violation; and altering the first configuration value or a related configuration value when it is determined that accepting the first configuration value would cause a rule violation.
 17. The method of claim 16, wherein the rule violation comprises an incompatibility between the first configuration value and a second configuration value.
 18. The method of claim 16, wherein the rule violation comprises a jurisdictional rule violation.
 19. The method of claim 16, further comprising receiving a rule set for determining whether accepting the first configuration value would cause a rule violation.
 20. The method of claim 16, further comprising receiving a rule set for determining how to alter the first configuration value or a related configuration value when it is determined that accepting the first configuration value would cause a rule violation.
 21. The method of claim 16, further comprising reporting altered configuration values.
 22. The method of claim 16, further comprising prompting an operator to accept or reject proposed alterations to configuration values.
 23. The method of claim 16, further comprising providing configuration instructions to a plurality of gaming machines according to an approved set of configuration instructions for a first gaming machine.
 24. The method of claim 17, wherein the altering step comprises altering the first configuration value.
 25. The method of claim 17, wherein the altering step comprises altering the second configuration value.
 26. The method of claim 18, wherein the altering step comprises altering the first configuration value.
 27. The method of claim 23, wherein the providing step comprises transmitting configuration instructions to the plurality of gaming machines via a network.
 28. The method of claim 23, wherein the providing step comprises: storing the approved set of configuration instructions on a portable memory device; establishing a communication between the portable memory device and one gaming machine of the plurality of gaming machines; and copying the approved set of configuration instructions from the portable memory device to the one gaming machine of the plurality of gaming machines.
 29. The method of claim 28, further comprising a step of authenticating the portable memory device.
 30. The method of claim 29, wherein the authentication step comprises the use of a digital signature. 